package com.ruoyi.system.domain.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.system.entity.AbdulBaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.time.LocalTime;

/**
 * 自助终端机设置对象 self_service_terminal_settings
 *
 * @author ruoyi
 * @date 2025-05-12
 */
@Data
@ApiModel("自助终端机设置对象vo")
public class SelfServiceTerminalSettingsVO extends AbdulBaseEntity {
    private static final long serialVersionUID = 1L;

    /** 自助终端机设置记录的唯一标识符，自增主键 */
    @ApiModelProperty("自助终端机设置记录的唯一标识符，自增主键")
    private Long id;

    /** 底部菜单栏配置（JSON格式存储菜单项及其属性，例如：{"menu_items": [{"name": "消费详情", "icon": "/icons/detail.png", "enabled": true}, ...]}） */
    @TableField(exist = false)
    @ApiModelProperty("底部菜单栏配置（JSON格式存储菜单项及其属性，例如：{\"menu_items\": [{\"name\": \"消费详情\", \"icon\": \"/icons/detail.png\", \"enabled\": true}, ...]}）")
    @Excel(name = "底部菜单栏配置", readConverterExp = "J=SON格式存储菜单项及其属性")
    private BottomMenuConfigVO bottomMenuConfig;

    /** 是否启用消费详情功能：1-启用，0-禁用 */
    @ApiModelProperty("是否启用消费详情功能：1-启用，0-禁用")
    @Excel(name = "是否启用消费详情功能：1-启用，0-禁用")
    private Integer enableOrderDetails;

    /** 消费详情展示模式：FULL-完整详情（含商品、价格、折扣等），SUMMARY-摘要详情（仅总金额、支付方式等），CUSTOM-自定义详情（需配合自定义模板） */
    @ApiModelProperty("消费详情展示模式：FULL-完整详情（含商品、价格、折扣等），SUMMARY-摘要详情（仅总金额、支付方式等），CUSTOM-自定义详情（需配合自定义模板）")
    @Excel(name = "消费详情展示模式：FULL-完整详情", readConverterExp = "含=商品、价格、折扣等")
    private String orderDetailsDisplayMode;

    /** 是否启用自助结账功能：1-启用，0-禁用 */
    @ApiModelProperty("是否启用自助结账功能：1-启用，0-禁用")
    @Excel(name = "是否启用自助结账功能：1-启用，0-禁用")
    private Integer enableSelfCheckout;

    /** 自助结账支持的支付方式（JSON格式存储支付方式ID或名称，例如：["WECHAT", "ALIPAY", "CASH"]） */
    @ApiModelProperty("自助结账支持的支付方式（JSON格式存储支付方式ID或名称，例如：[\"WECHAT\", \"ALIPAY\", \"CASH\"]）")
    @Excel(name = "自助结账支持的支付方式", readConverterExp = "J=SON格式存储支付方式ID或名称")
    private String selfCheckoutPaymentMethods;


    /** 是否允许在呼叫服务时段外发起呼叫：1-允许，0-禁止 */
    @ApiModelProperty("是否允许在呼叫服务时段外发起呼叫：1-允许，0-禁止")
    @Excel(name = "是否允许在呼叫服务时段外发起呼叫：1-允许，0-禁止")
    private Integer serviceCallEnabled;


    /** 呼叫服务时段开始时间 */
    @ApiModelProperty("呼叫服务时段开始时间")
    @Excel(name = "呼叫服务时段开始时间")
    private LocalTime serviceCallStartTime;

    /** 呼叫服务时段结束时间 */
    @ApiModelProperty("呼叫服务时段结束时间")
    @Excel(name = "呼叫服务时段结束时间")
    private LocalTime serviceCallEndTime;


    /** 商品点单模式：DEFAULT-默认模式（直接选商品），PACKAGE_ONLY-仅套餐点单，RECOMMEND_FIRST-推荐商品优先，CATEGORY_FILTER-分类筛选优先 */
    @TableField(exist = false)
    @ApiModelProperty("商品点单模式：DEFAULT-默认模式（直接选商品），PACKAGE_ONLY-仅套餐点单，RECOMMEND_FIRST-推荐商品优先，CATEGORY_FILTER-分类筛选优先")
    @Excel(name = "商品点单模式：DEFAULT-默认模式", readConverterExp = "直=接选商品")
    private ItemOrderModeVO itemOrderMode;


    /** 手机号 */
    @ApiModelProperty("手机号")
    @Excel(name = "手机号")
    private String phone;
}

